<?php
namespace Admin\Controller;
use Admin\Model\GoodsTypeModel;

/**
 * 后台管理商品分类管理控制器
 * @author RickChan
 */
class GoodsTypeController extends AdminController {
	public function index(){
		$list = $this->lists('GoodsType',array(),'id asc');
		int_to_string($list);
		$this->assign('_list', $list);
		$this->meta_title = '分类管理';
		$this->display();
	}

	public function edit(){
		$id = I('get.id');
		empty($id) && $this->error('参数不能为空！');
		$data = M('GoodsType')->field(true)->find($id);

		$this->assign('data',$data);
		$this->meta_title = '编辑分类';
		$this->display('edittype');
	}

	public function createType(){
		$this->assign('data',null);
		$this->meta_title = '新增分类';
		$this->display('addtype');
	}

	public function writeType(){
		$res = D('GoodsType')->update();
		if(!$res){
		    $this->error(D('GoodsType')->getError());
        }else{
            $this->success($res['id']?'更新成功！':'新增成功！', U('index'));
        }
	}

	public function changeStatus($method=null){
		$id = array_unique((array)I('id',0));
		$id = is_array($id) ? implode(',', $id) : $id;
		if (empty($id)){
			$this->error('请选择要操作的数据！');
		}
		$map['id'] = array('in',$id);
		
		switch (strtolower($method)) {
			case 'forbidtype':
                $this->forbid('GoodsType', $map );
                break;
            case 'resumetype':
                $this->resume('GoodsType', $map );
                break;
            case 'deletetype':
            	$this->isDeleteType($id);
                $this->delete('GoodsType', $map );
                break;
            default:
                $this->error('参数非法');
				break;
		}
	}

	public function isDeleteType($id){
		$Goods = M('Goods');
		$condition['type_id'] = $id;
		$condition['status'] = array('egt',0);
		$data = $Goods->where($condition)->select();
		if(!empty($data)){
			$this->error('禁止删除，该分类下存在正常商品！');
		}
	}
}